home *** CD-ROM | disk | FTP | other *** search
/ This Disc Bytes! / Power Computing - The Disc 2 - This Disc Bytes.ISO / mac / CodeWarrior 7 Lite for 68K / MacOS Support / Headers / Universal Headers / MediaHandlers.h < prev    next >
Text File  |  1995-07-06  |  9KB  |  235 lines

  1. /*
  2.      File:        MediaHandlers.h
  3.  
  4.      Contains:    QuickTime Interfaces.
  5.  
  6.      Version:    Technology:    QuickTime 2.0
  7.                  Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. */
  19.  
  20. #ifndef __MEDIAHANDLERS__
  21. #define __MEDIAHANDLERS__
  22.  
  23.  
  24. #ifndef __MEMORY__
  25. #include <Memory.h>
  26. #endif
  27. /*    #include <Types.h>                                            */
  28. /*        #include <ConditionalMacros.h>                            */
  29. /*    #include <MixedMode.h>                                        */
  30.  
  31. #ifndef __IMAGECOMPRESSION__
  32. #include <ImageCompression.h>
  33. #endif
  34. /*    #include <Quickdraw.h>                                        */
  35. /*        #include <QuickdrawText.h>                                */
  36. /*    #include <QDOffscreen.h>                                    */
  37. /*        #include <Errors.h>                                        */
  38. /*    #include <Components.h>                                        */
  39. /*    #include <Windows.h>                                        */
  40. /*        #include <Events.h>                                        */
  41. /*            #include <OSUtils.h>                                */
  42. /*        #include <Controls.h>                                    */
  43. /*            #include <Menus.h>                                    */
  44. /*    #include <StandardFile.h>                                    */
  45. /*        #include <Dialogs.h>                                    */
  46. /*            #include <TextEdit.h>                                */
  47. /*        #include <Files.h>                                        */
  48. /*            #include <Finder.h>                                    */
  49.  
  50. #ifndef __MOVIES__
  51. #include <Movies.h>
  52. #endif
  53. /*    #include <Aliases.h>                                        */
  54. /*        #include <AppleTalk.h>                                    */
  55.  
  56. #ifdef __cplusplus
  57. extern "C" {
  58. #endif
  59.  
  60. #if PRAGMA_ALIGN_SUPPORTED
  61. #pragma options align=mac68k
  62. #endif
  63.  
  64. #if PRAGMA_IMPORT_SUPPORTED
  65. #pragma import on
  66. #endif
  67.  
  68.  
  69. enum {
  70.     handlerHasSpatial            = 1 << 0,
  71.     handlerCanClip                = 1 << 1,
  72.     handlerCanMatte                = 1 << 2,
  73.     handlerCanTransferMode        = 1 << 3,
  74.     handlerNeedsBuffer            = 1 << 4,
  75.     handlerNoIdle                = 1 << 5,
  76.     handlerNoScheduler            = 1 << 6,
  77.     handlerWantsTime            = 1 << 7,
  78.     handlerCGrafPortOnly        = 1 << 8
  79. };
  80.  
  81. /* media task flags */
  82. enum {
  83.     mMustDraw                    = 1 << 3,
  84.     mAtEnd                        = 1 << 4,
  85.     mPreflightDraw                = 1 << 5,
  86.     mSyncDrawing                = 1 << 6
  87. };
  88.  
  89. /* media task result flags */
  90. enum {
  91.     mDidDraw                    = 1 << 0,
  92.     mNeedsToDraw                = 1 << 2,
  93.     mDrawAgain                    = 1 << 3,
  94.     mPartialDraw                = 1 << 4
  95. };
  96.  
  97. enum {
  98.     forceUpdateRedraw            = 1 << 0,
  99.     forceUpdateNewBuffer        = 1 << 1
  100. };
  101.  
  102. struct GetMovieCompleteParams {
  103.     short                            version;
  104.     Movie                            theMovie;
  105.     Track                            theTrack;
  106.     Media                            theMedia;
  107.     TimeScale                        movieScale;
  108.     TimeScale                        mediaScale;
  109.     TimeValue                        movieDuration;
  110.     TimeValue                        trackDuration;
  111.     TimeValue                        mediaDuration;
  112.     Fixed                            effectiveRate;
  113.     TimeBase                        timeBase;
  114.     short                            volume;
  115.     Fixed                            width;
  116.     Fixed                            height;
  117.     MatrixRecord                    trackMovieMatrix;
  118.     CGrafPtr                        moviePort;
  119.     GDHandle                        movieGD;
  120.     PixMapHandle                    trackMatte;
  121. };
  122. typedef struct GetMovieCompleteParams GetMovieCompleteParams;
  123.  
  124. extern pascal ComponentResult MediaInitialize(MediaHandler mh, GetMovieCompleteParams *gmc)
  125.  FIVEWORDINLINE(0x2F3C, 0x4, 0x501, 0x7000, 0xA82A);
  126. extern pascal ComponentResult MediaSetHandlerCapabilities(MediaHandler mh, long flags, long flagsMask)
  127.  FIVEWORDINLINE(0x2F3C, 0x8, 0x502, 0x7000, 0xA82A);
  128. extern pascal ComponentResult MediaIdle(MediaHandler mh, TimeValue atMediaTime, long flagsIn, long *flagsOut, const TimeRecord *movieTime)
  129.  FIVEWORDINLINE(0x2F3C, 0x10, 0x503, 0x7000, 0xA82A);
  130. extern pascal ComponentResult MediaGetMediaInfo(MediaHandler mh, Handle h)
  131.  FIVEWORDINLINE(0x2F3C, 0x4, 0x504, 0x7000, 0xA82A);
  132. extern pascal ComponentResult MediaPutMediaInfo(MediaHandler mh, Handle h)
  133.  FIVEWORDINLINE(0x2F3C, 0x4, 0x505, 0x7000, 0xA82A);
  134. extern pascal ComponentResult MediaSetActive(MediaHandler mh, Boolean enableMedia)
  135.  FIVEWORDINLINE(0x2F3C, 0x2, 0x506, 0x7000, 0xA82A);
  136. extern pascal ComponentResult MediaSetRate(MediaHandler mh, Fixed rate)
  137.  FIVEWORDINLINE(0x2F3C, 0x4, 0x507, 0x7000, 0xA82A);
  138. extern pascal ComponentResult MediaGGetStatus(MediaHandler mh, ComponentResult *statusErr)
  139.  FIVEWORDINLINE(0x2F3C, 0x4, 0x508, 0x7000, 0xA82A);
  140. extern pascal ComponentResult MediaTrackEdited(MediaHandler mh)
  141.  FIVEWORDINLINE(0x2F3C, 0, 0x509, 0x7000, 0xA82A);
  142. extern pascal ComponentResult MediaSetMediaTimeScale(MediaHandler mh, TimeScale newTimeScale)
  143.  FIVEWORDINLINE(0x2F3C, 0x4, 0x50A, 0x7000, 0xA82A);
  144. extern pascal ComponentResult MediaSetMovieTimeScale(MediaHandler mh, TimeScale newTimeScale)
  145.  FIVEWORDINLINE(0x2F3C, 0x4, 0x50B, 0x7000, 0xA82A);
  146. extern pascal ComponentResult MediaSetGWorld(MediaHandler mh, CGrafPtr aPort, GDHandle aGD)
  147.  FIVEWORDINLINE(0x2F3C, 0x8, 0x50C, 0x7000, 0xA82A);
  148. extern pascal ComponentResult MediaSetDimensions(MediaHandler mh, Fixed width, Fixed height)
  149.  FIVEWORDINLINE(0x2F3C, 0x8, 0x50D, 0x7000, 0xA82A);
  150. extern pascal ComponentResult MediaSetClip(MediaHandler mh, RgnHandle theClip)
  151.  FIVEWORDINLINE(0x2F3C, 0x4, 0x50E, 0x7000, 0xA82A);
  152. extern pascal ComponentResult MediaSetMatrix(MediaHandler mh, MatrixRecord *trackMovieMatrix)
  153.  FIVEWORDINLINE(0x2F3C, 0x4, 0x50F, 0x7000, 0xA82A);
  154. extern pascal ComponentResult MediaGetTrackOpaque(MediaHandler mh, Boolean *trackIsOpaque)
  155.  FIVEWORDINLINE(0x2F3C, 0x4, 0x510, 0x7000, 0xA82A);
  156. extern pascal ComponentResult MediaSetGraphicsMode(MediaHandler mh, long mode, const RGBColor *opColor)
  157.  FIVEWORDINLINE(0x2F3C, 0x8, 0x511, 0x7000, 0xA82A);
  158. extern pascal ComponentResult MediaGetGraphicsMode(MediaHandler mh, long *mode, RGBColor *opColor)
  159.  FIVEWORDINLINE(0x2F3C, 0x8, 0x512, 0x7000, 0xA82A);
  160. extern pascal ComponentResult MediaGSetVolume(MediaHandler mh, short volume)
  161.  FIVEWORDINLINE(0x2F3C, 0x2, 0x513, 0x7000, 0xA82A);
  162. extern pascal ComponentResult MediaSetSoundBalance(MediaHandler mh, short balance)
  163.  FIVEWORDINLINE(0x2F3C, 0x2, 0x514, 0x7000, 0xA82A);
  164. extern pascal ComponentResult MediaGetSoundBalance(MediaHandler mh, short *balance)
  165.  FIVEWORDINLINE(0x2F3C, 0x4, 0x515, 0x7000, 0xA82A);
  166. extern pascal ComponentResult MediaGetNextBoundsChange(MediaHandler mh, TimeValue *when)
  167.  FIVEWORDINLINE(0x2F3C, 0x4, 0x516, 0x7000, 0xA82A);
  168. extern pascal ComponentResult MediaGetSrcRgn(MediaHandler mh, RgnHandle rgn, TimeValue atMediaTime)
  169.  FIVEWORDINLINE(0x2F3C, 0x8, 0x517, 0x7000, 0xA82A);
  170. extern pascal ComponentResult MediaPreroll(MediaHandler mh, TimeValue time, Fixed rate)
  171.  FIVEWORDINLINE(0x2F3C, 0x8, 0x518, 0x7000, 0xA82A);
  172. extern pascal ComponentResult MediaSampleDescriptionChanged(MediaHandler mh, long index)
  173.  FIVEWORDINLINE(0x2F3C, 0x4, 0x519, 0x7000, 0xA82A);
  174. extern pascal ComponentResult MediaHasCharacteristic(MediaHandler mh, OSType characteristic, Boolean *hasIt)
  175.  FIVEWORDINLINE(0x2F3C, 0x8, 0x51A, 0x7000, 0xA82A);
  176. extern pascal ComponentResult MediaGetOffscreenBufferSize(MediaHandler mh, Rect *bounds, short depth, CTabHandle ctab)
  177.  FIVEWORDINLINE(0x2F3C, 0xA, 0x51B, 0x7000, 0xA82A);
  178. extern pascal ComponentResult MediaSetHints(MediaHandler mh, long hints)
  179.  FIVEWORDINLINE(0x2F3C, 0x4, 0x51C, 0x7000, 0xA82A);
  180. extern pascal ComponentResult MediaGetName(MediaHandler mh, Str255 name, long requestedLanguage, long *actualLanguage)
  181.  FIVEWORDINLINE(0x2F3C, 0xC, 0x51D, 0x7000, 0xA82A);
  182. extern pascal ComponentResult MediaForceUpdate(MediaHandler mh, long forceUpdateFlags)
  183.  FIVEWORDINLINE(0x2F3C, 0x4, 0x51E, 0x7000, 0xA82A);
  184. extern pascal ComponentResult MediaGetDrawingRgn(MediaHandler mh, RgnHandle *partialRgn)
  185.  FIVEWORDINLINE(0x2F3C, 0x4, 0x521, 0x7000, 0xA82A);
  186.  
  187. enum {
  188.     kMediaInitializeSelect        = 0x501,
  189.     kMediaSetHandlerCapabilitiesSelect = 0x502,
  190.     kMediaIdleSelect            = 0x503,
  191.     kMediaGetMediaInfoSelect    = 0x504,
  192.     kMediaPutMediaInfoSelect    = 0x505,
  193.     kMediaSetActiveSelect        = 0x506,
  194.     kMediaSetRateSelect            = 0x507,
  195.     kMediaGGetStatusSelect        = 0x508,
  196.     kMediaTrackEditedSelect        = 0x509,
  197.     kMediaSetMediaTimeScaleSelect = 0x50A,
  198.     kMediaSetMovieTimeScaleSelect = 0x50B,
  199.     kMediaSetGWorldSelect        = 0x50C,
  200.     kMediaSetDimensionsSelect    = 0x50D,
  201.     kMediaSetClipSelect            = 0x50E,
  202.     kMediaSetMatrixSelect        = 0x50F,
  203.     kMediaGetTrackOpaqueSelect    = 0x510,
  204.     kMediaSetGraphicsModeSelect    = 0x511,
  205.     kMediaGetGraphicsModeSelect    = 0x512,
  206.     kMediaGSetVolumeSelect        = 0x513,
  207.     kMediaSetSoundBalanceSelect    = 0x514,
  208.     kMediaGetSoundBalanceSelect    = 0x515,
  209.     kMediaGetNextBoundsChangeSelect = 0x516,
  210.     kMediaGetSrcRgnSelect        = 0x517,
  211.     kMediaPrerollSelect            = 0x518,
  212.     kMediaSampleDescriptionChangedSelect = 0x519,
  213.     kMediaHasCharacteristicSelect = 0x51A,
  214.     kMediaGetOffscreenBufferSizeSelect = 0x51B,
  215.     kMediaSetHintsSelect        = 0x51C,
  216.     kMediaGetNameSelect            = 0x51D,
  217.     kMediaForceUpdateSelect        = 0x51E,
  218.     kMediaGetDrawingRgnSelect    = 0x521
  219. };
  220.  
  221.  
  222. #if PRAGMA_IMPORT_SUPPORTED
  223. #pragma import off
  224. #endif
  225.  
  226. #if PRAGMA_ALIGN_SUPPORTED
  227. #pragma options align=reset
  228. #endif
  229.  
  230. #ifdef __cplusplus
  231. }
  232. #endif
  233.  
  234. #endif /* __MEDIAHANDLERS__ */
  235.